import App from './App'
import uviewPlus from 'uview-plus'
// 引入语言包，注意路径
// 导入所有语言文件
import messages from './locales/index.js'
import {
	createI18n
} from 'vue-i18n'
import GlobalPopup from '@/components/GlobalPopup/GlobalPopup.vue'
import navbar from '@/components/navbar/navbar.vue'

// 构造i18n对象
const i18n = createI18n({
	legacy: false,
	locale: localStorage.getItem('tradevase-lang') || 'CN',
	fallbackLocale: 'CN',
	messages: messages
})

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false

// Vue 2 中使用 i18n
Vue.use(i18n)

App.mpType = 'app'
const app = new Vue({
	...App,
	i18n
})
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	app.use(uviewPlus)
	// 使用 i18n
	app.use(i18n)

	// 全局挂载弹框组件
	app.component('GlobalPopup', GlobalPopup)
	app.component('navbar', navbar)

	// 添加全局属性确保模板中可以使用 $t
	app.config.globalProperties.$t = i18n.global.t

	return {
		app
	}
}
// #endif